package avicit.bdp.dgs.mdm.dto;

import avicit.bdp.common.base.BaseDTO;
import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.Id;
import avicit.platform6.core.annotation.log.LogField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2023-12-13
 * @类说明：MdmLogDTO
 * @修改记录：
 * @注意事项：
 * @主要功能：数据审计日志DTO。 1、新增/删除/生效/失效/分发时记录日志；2、一条数据一个日志记录；
 */
@ApiModel(value = "MdmLogDTO", description = "数据审计日志DTO")
@Table(name = "bdp_dgs_mdm_log")
public class MdmLogDTO extends BaseDTO {
    /**
     * 主键
     */
    @Id
    @LogField
    @ApiModelProperty(value = "id", name = "id")
    @FieldRemark(column = "id", field = "id", name = "主键")
    @javax.persistence.Id
    @Column(name = "id")
    private String id;

    /**
     * 主题ID
     */
    @LogField
    @ApiModelProperty(value = "topicId", name = "主题ID")
    @FieldRemark(column = "topic_id", field = "topicId", name = "主题ID")
    @Column(name = "topic_id")
    private String topicId;

    /**
     * 模型ID
     */
    @LogField
    @ApiModelProperty(value = "名称", name = "tableId")
    @FieldRemark(column = "table_id", field = "tableId", name = "模型ID")
    @Column(name = "table_id")
    private String tableId;

    /**
     * 数据ID
     */
    @LogField
    @ApiModelProperty(value = "dataId", name = "数据ID")
    @FieldRemark(column = "data_id", field = "dataId", name = "数据ID")
    @Column(name = "data_id")
    private String dataId;

    /**
     * 状态，0：草稿、1：审核中、2：已发布、3：已驳回
     */
    @LogField
    @ApiModelProperty(value = "状态，0：草稿、1：审核中、2：已发布、3：已驳回", name = "status")
    @FieldRemark(column = "status", field = "status", name = "状态，0：草稿、1：审核中、2：已发布、3：已驳回")
    @Column(name = "status")
    private Integer status;

    /**
     * 下发状态，0：未下发、1：已下发
     */
    @LogField
    @ApiModelProperty(value = "下发状态，0：未下发、1：已下发", name = "revise")
    @FieldRemark(column = "distribute", field = "distribute", name = "下发状态，0：未下发、1：已下发")
    @Column(name = "distribute")
    private Integer distribute;

    @Transient
    private int totalNumber;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTopicId() {
        return topicId;
    }

    public void setTopicId(String topicId) {
        this.topicId = topicId;
    }

    public String getTableId() {
        return tableId;
    }

    public void setTableId(String tableId) {
        this.tableId = tableId;
    }

    public String getDataId() {
        return dataId;
    }

    public void setDataId(String dataId) {
        this.dataId = dataId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getDistribute() {
        return distribute;
    }

    public void setDistribute(Integer distribute) {
        this.distribute = distribute;
    }

    public int getTotalNumber() {
        return totalNumber;
    }

    public void setTotalNumber(int totalNumber) {
        this.totalNumber = totalNumber;
    }
}
